﻿using System;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
using WeatherHistory.Data.Entities;

namespace WeatherHistory.Data.Repositories.Interfaces;

public interface IRegionRepository : IRepositoryBase<Region>
{
    Task<Region> FirstOrDefaultWithParentAsync(Expression<Func<Region, bool>> match, CancellationToken cancellationToken);
    Task<Region> FirstOrDefaultWithChildRegionsAsync(Expression<Func<Region, bool>> match, CancellationToken cancellationToken);
}